home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: CL-KillOldSystems.rexx 1.3 (05 Feb 1996)
- **
- ** © 1995-96 Ralf Ramge
- **
- ** PROGRAMNAME:
- ** CL-KillOldSystems.rexx
- **
- ** FUNCTION:
- ** Demonstrations-Skript zu cl_rexx.library, Connectline 5.0
- **
- ** Connectline © 1986-1995 Oliver Wagner, Mathias Mischler
- ** cl_rexx.library © 1995 Mathias Mischler
- **
- ** Dieses Skript durchsucht die Verteiler aller Bretter nach Systemen,
- ** die nicht in der Systemliste aufgeführt sind und löscht sie gege-
- ** benenfalls. Dieses Problem kann z.B. auftreten, wenn ein Point ge-
- ** löscht wird ohne daß vorher alle Bretter abbestellt wurden.
- **
- ** $HISTORY:
- **
- ** 0.01 - Erste Alpha-Version
- ** 0.1 - Einbindung ins ARexx-Menü des Servers
- ** 0.2 - BrettScan optimiert
- ** 1.0 - Veröffentlichungsreife Version
- ** 1.1 - font-sensitiv
- ** 1.11 - Logfileeintrag
- ** 1.2 - Auf neue Arbeitsweise von CLGET_BoardBoxList() angepasst
- ** 1.3 - kosmetische Fixes, schneller
- */
-
- /* rexxsupport.library öffnen */
-
- if ~show('L','rexxsupport.library') then do
- if ~addlib('rexxsupport.library',0,-30,0) then exit 10
- end
-
- /* cl_rexx.library öffnen */
-
- if ~show('L','cl_rexx.library') then do
- if ~addlib('cl_rexx.library',0,-30,0) then exit 10
- end
-
- /* Fontsize ermitteln */
-
- gfxbase=showlist(l,'graphics.library',0,a)
- call forbid
- FontAddress=next(gfxbase,154)
- Fontsize=c2d(IMPORT(offset(FontAddress,20),2))
- call permit
- windowwidth=Fontsize*50
- windowheight=Fontsize*15
- windowY=Fontsize+1
- WindowX=Fontsize
-
-
-
- /* Standard-IO umleiten */
-
- screen=CLGET_FrontScreenName()
-
- call close STDOUT
- if ~open(STDOUT,'CON:'windowX'/'windowY'/'windowwidth'/'windowheight'/CL-KillOldSystems/SCREEN'screen,'W') then
- exit 20
- else do
- call close STDIN
- call open STDIN,'*',R
- call pragma '*'
- end
-
- say 'Durchsuche alle Verteiler nach inexistenten Systemen.'
- say 'Bitte warten.'
-
- banz=CLGET_BoardList(brett)-1 /* Anzahl der Bretter ermitteln */
-
- if banz=0 then do
- say 'Keine Brettliste gefunden!'
- exit 20
- end
-
- /* Durchsuchen der Brettliste */
-
- ctr=0
-
- do i=0 to banz
- vanz=(CLGET_BoardBoxList(brett.i,system))-1
- if vanz>0 then do
- do y=1 to vanz
- if ~CLIS_SystemExists(system.y) then do
- say 'Illegales System 'system.y' in /'brett.i'.'
- CLSET_BoardDelBox(brett.i,system.y)
- call CL_LogAdd(0,'KOSYSTEMS','Altes System 'system.y' aus /'brett.i' entfernt')
- ctr=ctr+1
- end
- end
- end
- end
-
- say 'Insgesamt wurden 'ctr' illegale Einträge eliminiert.'
- say 'Speichere Brettliste.'
-
- call CL_SaveBoardList()
- say 'Fertig.'
-
- call ende
- exit
-
-
- ende:
-
- options prompt "<Bitte drücken Sie RETURN>"
- pull dummy
-
- call close STDOUT
- call close STDIN
- exit
-